-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CIP: reduce inflation #249
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[blocking] the reference implementation code looks incorrect b/c it contains escape characters.
[optional] IMO the current CIP doesn't have a convincing motivation section. I think it would help to articulate clear quantifiable goals and how the proposed inflation schedule meets those goals. The proposed schedule seems a bit arbitrary.
cips/cip-29.md
Outdated
|
||
## **Motivation** | ||
|
||
Celestia launched in October of 2023, and since its launch there has been a high demand for posting blobs to the network, while other solutions have not been able to scale in a decentralized manner. However, TIA’s bonding has been continuously high (peaking at around 72% and currently at about 65%) meaning that stakers are overly incentivized and the system is overpaying for security. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't seem relevant.
Celestia launched in October of 2023, and since its launch there has been a high demand for posting blobs to the network, while other solutions have not been able to scale in a decentralized manner. However, TIA’s bonding has been continuously high (peaking at around 72% and currently at about 65%) meaning that stakers are overly incentivized and the system is overpaying for security. | |
Celestia launched in October of 2023, and since its launch there has been a high demand for posting blobs to the network. However, TIA’s bonding has been continuously high (peaking at around 72% and currently at about 65%) meaning that stakers are overly incentivized and the system is overpaying for security. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and the system is overpaying for security.
This claim seems unsubstantiated. If the system is overpaying for security, how much should it pay for security?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont believe anyone has been able to quantify this, some people would say anything greater than 0 is too much since POA is more secure and simpler while others would claim a percentage. What we do know now is that inflation on Celestia has been high comparative to other networks that have launched before and since Celestia's Launch. Blocking the CIP based on quantifying security means this CIP nor any other in the future will be passed because its subjective.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blocking the CIP based on quantifying security means this CIP nor any other in the future will be passed because its subjective.
Sorry for the confusion. I'm not blocking the CIP on quantifying the goals. That's an optional suggestion. The only blocking comment was that the reference implementation looked broken.
What we do know now is that inflation on Celestia has been high comparative to other networks that have launched before and since Celestia's Launch.
That seems reasonable. This CIP could remove the line about "overpaying for security" and insert a line about how Celestia's inflation is high relative to others. It would help to include data on inflation for other networks.
Reasons for this CIP are: | ||
|
||
1. Current issuance is too high, especially in dollar-terms. We want to avoid accelerated dilution of non-stakers. | ||
2. To empower applications to compete effectively with staking yields. While it is important to maintain a high bond ratio to secure the network, we also envision a vibrant ecosystem of diverse applications emerging on Celestia-secured rollups. Using TIA as collateral onchain competes with staking yield and reducing inflation makes onchain use more attractive. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While it is important to maintain a high bond ratio to secure the network
Can this quantify a target bond ratio?
cips/cip-29.md
Outdated
|
||
* The chain upgrade process includes the new inflation parameters without disrupting block production. | ||
|
||
* The new schedule is included in the next voting proposal to reflect the updated inflation rates on-chain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in the next voting proposal
What is the next voting proposal? Is this referring to a governance proposal?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This probably meant to say
* The new schedule is included in the next voting proposal to reflect the updated inflation rates on-chain. | |
* The new schedule is included in the next major version release to reflect the updated inflation rates on-chain in the next app version (v4). |
cips/cip-29.md
Outdated
|
||
### **Alternative 0: Do nothing** | ||
|
||
If we continue to do nothing, Celestia’s inflation schedule may not be competitive with other networks’ and TIA’s onchain usage may be limited. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is phrased confusingly b/c the inflation schedule doesn't need to be competitive with other networks'. The yield earned from staking may want to be competitive with other networks but if the inflation remains high then the yield earned from staking will be competitive. This proposal is advocating for reducing the inflation rate so that would reduce the staking yield which makes it less competitive with other networks'.
Can you rephrase if that's not what is meant here?
cips/cip-29.md
Outdated
|
||
![inflation change](./assets/cip-29/inflation_change.png) | ||
|
||
If we accelerate the schedule *slower*, the system continues overpaying for security and the change would not really move the needle as it would be too close to the current schedule. If we accelerate even faster, we risk hitting the target inflation of 1.5% too fast or generally risk lowering the inflation too much too early. Celestia mainnet is just about a year old and while there is already a thriving ecosystem, we want to err on the side of caution. About \~5% inflation seems ideal for a proof-of-stake system which is still early and whose tokenomics will play out in the future. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About ~5% inflation seems ideal for a proof-of-stake system which is still early and whose tokenomics will play out in the future.
Ideal seems incorrect here b/c we don't know what is ideal.
Hypothetically, if 5% is ideal then this CIP would state that in the goals at the top and revise the inflation schedule to be a fixed 5%.
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Co-authored-by: Rootul P <[email protected]>
Is the formatting/ the escape characters in the ref implementation the blocker or the second point? |
Co-authored-by: Rootul P <[email protected]>
The escape characters in the reference implementation. The second point about quantifiable goals is an optional suggestion. |
cips/cip-29.md
Outdated
|
||
* The chain upgrade process includes the new inflation parameters without disrupting block production. | ||
|
||
* The new schedule is included in the next voting proposal to reflect the updated inflation rates on-chain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This probably meant to say
* The new schedule is included in the next voting proposal to reflect the updated inflation rates on-chain. | |
* The new schedule is included in the next major version release to reflect the updated inflation rates on-chain in the next app version (v4). |
cips/cip-29.md
Outdated
inflationRate \= inflationRate.Mul(sdk.NewDecWithPrec(67, 2)) // 0.67 \= 67% | ||
|
||
// Then, if we are in year two or later, apply a one-time disinflation of 6.7% | ||
if years \>= 2 { | ||
inflationRate \= inflationRate.Mul(sdk.OneDec().Sub(sdk.NewDecWithPrec(67, 3))) // 1 \- 0.067 \= 0.933 | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
inflationRate \= inflationRate.Mul(sdk.NewDecWithPrec(67, 2)) // 0.67 \= 67% | |
// Then, if we are in year two or later, apply a one-time disinflation of 6.7% | |
if years \>= 2 { | |
inflationRate \= inflationRate.Mul(sdk.OneDec().Sub(sdk.NewDecWithPrec(67, 3))) // 1 \- 0.067 \= 0.933 | |
} | |
} | |
inflationRate = inflationRate.Mul(sdk.NewDecWithPrec(67, 2)) // 0.67 is 67% | |
// Then, if we are in year two or later, apply a one-time disinflation of 6.7% | |
if years >= 2 { | |
inflationRate = inflationRate.Mul(sdk.OneDec().Sub(sdk.NewDecWithPrec(67, 3))) // 1 - 0.067 = 0.933 | |
} | |
} |
| **0** | 8.00 | 8.00 | Genesis year, no change. | | ||
| **1** | 7.20 | 7.20 | First disinflation applied (10%). | | ||
| **1.5** | 7.20 | 4.82 | 33% drop in inflation applied, disinflation rate reduced to 6.7%. (This will be implemented in the next upgrade of Celestia) | | ||
| **2** | 6.48 | 4.50 | Regular annual disinflation applied (6.7%). | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm calculating different numbers for the adjusted inflation. Here are the existing constants:
initialInflation = .08
disinflation = .1
The "New Adjusted Inflation" column is decreasing both of those by 33% so
initialInflation = .0536
disinflation = .067
The formula to calculate inflation rate in a given year is:
InitialInflationRate * ((1 - DisinflationRate) ^ YearsSinceGenesis)
let's skip year 0 and 1 because we can hard-code them to use the previous constants. For year 1.5
.0536 * (1 - .067) ^ 1 = 0.0500088
For year 2
.0536 * (1 - .067) ^ 2 = 0.04665821
which diverge from the values in the table.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's the formula that might not be correct. I just double checked the table in a spreadsheet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea my formula is incorrect.
InitialInflationRate * ((1 - DisinflationRate) ^ YearsSinceGenesis)
no longer works because this proposal modifies the inflation rate and disinflation rate for years > 1.5
Overview
This CIP is focused around dropping this years inflation by 33% and reducing the disinflation by 33%. We propose this change be applied in the next upgrade (v4)